home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1996 May & June
/
Amiga-CD 1996 #5-6.iso
/
pd-disketten
/
dms-gepackt
/
3_96
/
apd-3-96-2.dms
/
apd-3-96-2.adf
/
Amiga-E-Kurs
/
listing_2.e
< prev
next >
Wrap
Text File
|
1996-01-30
|
2KB
|
76 lines
/* Library-Funktionen in E, © 1995 M. Bennicke */
MODULE 'intuition/intuition', /* intuition-Modul */
'utility/tagitem' /* für Tag-Listen */
CONST BREITE = 300, HOEHE = 170,
LINIEN_ANZAHL = 200
PROC main()
DEF win=NIL:PTR TO window, /* Objekt »window« ist
aus Modul intuition */
rp,i
IF openLibs()
/* diese Intuition-Funktion öffnet ein Fenster;
die Konstanten stammen aus dem Modul */
win:=OpenWindowTagList(NIL, [WA_TITLE,'Amiga-E',
WA_INNERWIDTH,BREITE, WA_INNERHEIGHT,HOEHE,
WA_GIMMEZEROZERO,TRUE, WA_ACTIVATE, TRUE,
TAG_DONE]:tagitem)
/* Fenster wurde geöffnet, wenn win<>NIL ist */
IF win<>NIL
/* Rastport-Struktur bestimmen, sie wird für
alle Grafikausgaben benötigt */
rp:=win.rport
/* Zufallslinien zeichen */
FOR i:=1 TO LINIEN_ANZAHL
Move(rp,Rnd(BREITE),Rnd(HOEHE))
SetAPen(rp,Rnd(8))
Draw(rp,Rnd(BREITE),Rnd(HOEHE))
ENDFOR
SetAPen(rp,1) /* Text ausgeben */
Move(rp,BREITE/2-100,HOEHE/2)
Text(rp,'Das OS genutzt mit E',STRLEN)
Delay(3*50) /* mit Delay() 3 sec warten */
CloseWindow(win) /* Fenster schließen */
ELSE /* ELSE-Teil von IF win<>NIL */
WriteF('Fenster ist nicht zu öffnen.\n')
ENDIF
ELSE /* ELSE-Teil von IF openLibs() */
WriteF('Bibliotheken sind nicht zu öffnen.\n')
ENDIF
closeLibs()
ENDPROC
/* öffnet alle Libraries und gibt TRUE zurück, wenn
alles geklappt hat, sonst FALSE */
PROC openLibs()
intuitionbase:=OpenLibrary('intuition.library',37)
IF intuitionbase=NIL THEN RETURN FALSE
/* diese Zeilen fassen eine Zuweisung und einen
Vergleich wie oben zusammen. Beachten Sie die
zusätzlichen Klammern */
IF (dosbase:=OpenLibrary('dos.library',
37))=NIL THEN RETURN FALSE
IF (gfxbase:=OpenLibrary('graphics.library',
37))=NIL THEN RETURN FALSE
ENDPROC TRUE
/* schließt alle geöffneten Libraries wieder */
PROC closeLibs()
/* nur schließen, wenn Library offen war */
IF gfxbase<>NIL THEN CloseLibrary(gfxbase)
/* Der Vergleich kann weggelassen werden, da der
Wert NIL als FALSE und ein Wert<>NIL als TRUE
interpretiert wird */
IF dosbase THEN CloseLibrary(dosbase)
IF intuitionbase THEN CloseLibrary(intuitionbase)
ENDPROC